#include <stdio.h>
#include <pthread.h>

void* func(void *arg) //线程函数
{   
    // int count = 0;
    pthread_setcancelstate(PTHREAD_CANCEL_DISABLE,NULL);//设置线程不允许取消
    while(1)
    {
    //   count++;
      sleep(1);
      printf("helloworld\n");
    //   if(count == 5)
    // {
    //     pthread_exit((void*)count); //返回值也是可以被join
    // }
   
    }
    return (void*)200;
}
int main()
{   
     pthread_t pid; //线程号
     pthread_create(&pid,NULL,func,NULL); //线程的启动是需要时间的

    //  pthread_detach(pid); //线程分离
     sleep(5);
     pthread_cancel(pid); //线程取消
     int a;
     if(pthread_join(pid,(void**)&a) !=0)
     {
        printf("线程被join失败!\n");
        return -1;
     }
    //  pthread_join(pid,(void**)&a); //线程的等待
     printf("线程返回值是:%d\n",a);
     return 0;
}